(Not Applicable)
1. Technical Field
This invention relates to the field of manufacturing process computer simulation and more particularly to a system and method for distributed agent-based non-expert simulation of manufacturing process behavior.
2. Description of the Related Art
Historically, the traditional approach to manufacturing process management involved xe2x80x9cbatchxe2x80x9d production. As a consequence of Henry Ford""s popularization of mass production techniques during the early twentieth century, batch production techniques have permeated the production world. In one such batch technique, the Push System, upstream assembly line operations can be scheduled according to theoretical downstream assembly line results based on a plan which may not be current. In consequence, the Push System places more parts onto the production floor than is required for production and can lead to a large volume of work-in-process, excessive inventories, significant overhead for tracking parts, large queue areas, and higher costs.
In contrast, the Pull System is a contemporary manufacturing planning system based on communication of actual real-time needs from downstream operations including, ultimately, final assembly or the equivalent. More particularly, the Pull System, a real-time production technique, places material onto the production floor based on the rate of customer demand. The key to the Pull System is to smooth and balance material flows by means of controlled inventories. The Pull System""s philosophy focuses upon moving partially-assembled parts throughout the production floor before issuing new parts for a subsequent production run.
Like the Pull System, the Takt System is a real-time production technique which places material onto the production floor based on the rate of customer demand. xe2x80x9cTaktxe2x80x9d is a German term for rhythm. Specifically, the Takt System centers about the concept of xe2x80x9ctakt timexe2x80x9d, the allowable time to produce one product at the rate customers are demanding it. Takt time is not synonymous with cycle time, which is the normal time to complete an operation on a product. Rather, in the Takt System, a common frequency of production is assumed over the whole process.
More recently, one innovative approach has incorporated real time techniques such as the Pull System and Takt System. xe2x80x9cLeanxe2x80x9d manufacturing has been referred to as the most effective manufacturing system to date. Lean manufacturing has proven critical to increased productivity, inventory reduction, employee involvement and bottom line profits. Specifically, lean manufacturing refers to the Toyota(copyright) Production System(copyright) and is associated with the word xe2x80x9cleanxe2x80x9d because xe2x80x9cleanxe2x80x9d implies doing more with less: less inventory, less waste, less effort to produce more (or less personnel per process), quick changeover and setup time, one-piece flow of the supply chain, and less shop floor space needed. Mass producers who have implemented a lean manufacturing system enjoy a tremendous advantage over their competitors employing mass production manufacturing techniques because lean production is a system operating in xe2x80x9creal time.xe2x80x9d
Lean manufacturing is, in it""s most basic form, the systematic elimination of waste, using the concepts of flow and pull in a production system. The touted benefits of lean production systems include 50% lower production costs, 50% less personnel, 50% less time to field new products, higher quality, higher profitability, and higher system flexibility. Just as mass production is recognized as the production system of the 20th century, lean production is viewed as the production system of the 21st century.
Still, transition from traditional to lean manufacturing approaches is a difficult process and requires major capital investment of a manufacturing company. Understanding the impact of changing from a traditional Push System to lean manufacturing incorporating a Pull System or Takt System can be difficult. Typically, specialists having expertise in manufacturing production systems and computer simulation are required to investigate the current state, project the future advanced manufacturing xe2x80x9cleanxe2x80x9d state, and to predict the performance of that lean setup.
As applied to the transition from traditional to lean manufacturing, computer simulation can provide performance data including throughput, cycle time, total shipments, and cost. Computer simulation can also show bottlenecks in the process which can allow the designer to evaluate alternative solutions. Advantageously, a computer simulation tool can analyze problems having variability. In other words, a computer simulation can successfully evaluate a manufacturing process in view of manufacturing conditions changing from assembly piece to piece over time.
Nevertheless, computer simulation can be a complex and cumbersome process useful only at a considerable cost. Moreover, expert operators are required both to program and operate each computer simulation, and to interpret results. Finally, existing computer simulation techniques which can simulate a manufacturing process require substantial computer hardware upon which to operate. Thus, a need exists for a method for non-expert simulation of manufacturing process behavior on a single-processor computer.
A method and system for distributed agent-based non-expert simulation of manufacturing process behavior in accordance with the inventive arrangement satisfies the long-felt need of the prior art by providing a means to create both traditional and advanced xe2x80x9cleanxe2x80x9d Pull and Takt systems by a non-expert, simulate the behavior of each system, and compare and contrast each system based upon user-supplied parameters. Thus, the inventive arrangements provide a method and system for simulating manufacturing process behavior on a single-processor computer. The inventive arrangements have advantages over all methods for simulating manufacturing process behavior, and provides a novel and nonobvious system and method for providing a non-expert, computer-based simulation of manufacturing process behavior.
A method for distributed agent based non-expert simulation of manufacturing process behavior on a single-processor computer comprises the steps of: object is modeling a manufacturing technique having a plurality of processes; associating a distributed agent with each process; and, programming each agent to respond to discrete events corresponding to the manufacturing technique, wherein each discrete event triggers a programmed response. The method can further comprise the step of transmitting the discrete events to each agent in a message loop.
The programming step comprises the step of conditioning each agent to respond to a discrete event selected from the group consisting of a clock tick message, a resources received message, and a request for output production message. The agent can be programmed to respond to each message according to the chosen manufacturing technique, the behavior of which the method simulates. For instance, in the case of a Push System, the programming step can comprise the steps of: in response to the clock tick message, programming each agent to place finished output in an output stack corresponding to the associated process; in response to the resources received message, programming each agent to initiate production of output using resources contained in an input stack corresponding to the associated process; and, programming each agent to pass to an agent associated with an upstream process any output in the output stack produced in response to the discrete event.
Similarly, in the case of a Pull System, the programming step can comprise the steps of: in response to the clock tick message, programming each agent to place finished output in an output stack corresponding to the associated process; in response to the resources received message, programming each agent to inspect an input stack corresponding to the associated process, and to initiate production of output if the input stack has resources adequate to completely produce an output unit; in response to the request for output production message, programming each agent to inspect an output stack corresponding to the associated process for adequate output to satisfy the output production request, to inspect an input stack corresponding to the associated process only if the output stack lacks adequate output to satisfy the output production request, to initiate production of output if the input stack has resources adequate to completely produce output sufficient to satisfy the output request, and to post a request for output production message to an agent associated with a downstream process if the input stack lacks adequate resources to satisfy the output production request; and, programming each agent to pass to an agent associated with an upstream process any output in the output stack produced in response to the discrete event. Moreover, the programming step can further comprise the steps of: setting a minimum output level of output in an output stack corresponding to a process; and, programming each agent to produce replacement output in response to the output falling below the minimum output level.
Finally, in the case of a Takt System, the programming step can comprise the steps of: in response to the clock tick message, programming each agent to compare the clock tick message with a pre-specified takt time corresponding to the associated process; and, in response to a clock tick message correlating to the pre-specified takt time, programming each the agent to place completed output in an output stack corresponding to the associated process, to retrieve resources contained in an input stack corresponding to the associated process, to initiate production of output using resources contained in the input stack, and to pass to an agent associated with an upstream process any output in the output stack.
From the agent perspective, a method for distributed agent-based simulation of manufacturing process behavior, the simulation having a plurality of agents corresponding to individual processes forming a manufacturing technique, comprises the steps of: receiving a message from an agent; identifying in the received message a discrete event selected from the group consisting of a clock tick event, a resources received event, and a request for output production event; causing an associated process to perform an activity in response to the identified event; and, messaging an adjacent agent in response to the identified event.
The agent can respond to each message according to the chosen manufacturing technique, the behavior of which the method simulates. Specifically, in the case of a Push System, the causing step comprises the steps of: in response to the clock tick event, placing finished output in an output stack corresponding to the associated process; in response to the resources received event, initiating production of output using resources contained in an input stack corresponding to the associated process; and, passing to an agent associated with an upstream process any output in the output stack produced in response to the discrete event.
Likewise, in the case of a Pull System, the causing step comprises the steps of: in response to the clock tick event, placing finished output in an output stack corresponding to the associated process; in response to the resources received event, inspecting an input stack corresponding to the associated process, and initiating production of output if the input stack has resources adequate to completely produce an output unit; in response to the request for output production event, inspecting an output stack corresponding to the associated process for adequate output to satisfy the output production request, inspecting an input stack corresponding to the associated process only if the output stack lacks adequate output to satisfy the output production request, initiating production of output if the input stack has resources adequate to completely produce output sufficient to satisfy the output request, and posting a request for output production message to an agent associated with a downstream process if the input stack lacks adequate resources to satisfy the output production request; and, passing to an agent associated with an upstream process any output in the output stack produced in response to the discrete event. Moreover, the causing step can further comprise the steps of: identifying a minimum output level of output in an output stack corresponding to a process; and, producing replacement output in response to the output falling below the minimum output level.
Finally, in the case of a Takt System, the causing step can comprise the steps of: in response to the clock tick event, comparing the clock tick event with a pre-specified takt time corresponding to the associated process; and, in response to a clock tick event correlating to the pre-specified takt time, placing completed output in an output stack corresponding to the associated process, retrieving resources contained in an input stack corresponding to the associated process, initiating production of output using resources contained in the input stack, and passing to an agent associated with an upstream process any output in the output stack.